home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD003b.dsk / FRACTION.MULTIPLIER.bas < prev    next >
BASIC Source File  |  2003-06-12  |  2KB  |  49 lines

  1. 0  HOME 
  2. 1  REM  FRACTION MULTIPLIER.
  3. 2  REM  ANSWER=[FIRST INTEGER+(FIRST NUMERATOR/FIRST DENOMINATOR)]*[SECOND INTEGER+(SECOND NUMERATOR/SECOND DENOMINATOR)]  
  4. 3  REM  BY IAN PILCHER
  5. 10  INPUT "FIRST INTEGER: ";WA
  6. 20  INPUT "FIRST NUMERATOR: ";UA
  7. 21 QA = UA
  8. 30  INPUT "FIRST DENOMINATOR: ";DA
  9. 40  INPUT "SECOND INTEGER: ";WB
  10. 50  INPUT "SECOND NUMERATOR: ";UB
  11. 51 QB = UB
  12. 60  INPUT "SECOND DENOMINATOR: ";DB
  13. 70 UA = WA *DA +UA
  14. 80 UB = WB *DB +UB
  15. 90 UC = UA *UB
  16. 100 DC = DA *DB
  17. 110  IF UC < = DC  THEN 150
  18. 120 WC = 0
  19. 130 UC = UC -DC:WC = WC +1
  20. 140  IF UC >DC  THEN 130
  21. 150  FOR X = 2 TO  INT( SQR(UC))
  22. 160  IF UC/X =  INT(UC/X)  AND DC/X =  INT(DC/X)  THEN UC = UC/X:DC = DC/X
  23. 170  NEXT X
  24. 180  IF DC/UC =  INT(DC/UC)  THEN DC = DC/UC:UC = 1
  25. 185  VTAB (12)
  26. 190  IF UC = DC  THEN WC = WC +1: GOTO 220
  27. 200  POKE 36,4: PRINT QA;
  28. 201  POKE 36,15: PRINT QB;
  29. 202  POKE 36,26: PRINT UC
  30. 203  PRINT WA;: POKE 36,3: PRINT "---  X  ";WB;: POKE 36,14: PRINT "---  =  ";WC;: POKE 36,25: PRINT "-----"
  31. 204  POKE 36,4: PRINT DA;
  32. 205  POKE 36,15: PRINT DB;
  33. 206  POKE 36,26: PRINT DC
  34. 210  END 
  35. 220  POKE 36,4: PRINT QA;
  36. 221  POKE 36,15: PRINT QB
  37. 223  PRINT WA;: POKE 36,3: PRINT "---  X  ";WB;: POKE 36,14: PRINT "---  =  ";WC
  38. 224  POKE 36,4: PRINT DA;
  39. 225  POKE 36,15: PRINT DB
  40. 230  END 
  41. 240  REM  LINES 0-60 INPUT NUMBERS
  42. 250  REM  LINES 21,51 SAVE ORIGINAL NUMERATORS FOR LATER DISPLAY
  43. 260  REM  LINES 70-80 CHANGE MIXED FRACTIONS TO IMPROPER FRACTIONS
  44. 270  REM  LINES 90-100 MULTIPLY THE FRACTIONS
  45. 280  REM  LINE 110 DETERMINES IF THE PRODUCT IS IMPROPER AND IF NOT JUMPS THE DE-MIXING ROUTINE
  46. 290  REM  LINES 120-140 = DE-MIXING ROUTINE
  47. 300  REM  LINES 150-180 MAKES SURE THE NUMERATOR AND DENOMINATOR ARE RELATIVELY PRIME
  48. 310  REM  LINE 190 DETERMINES WHETHER THE NUMERATOR AND DENOMINATOR ARE EQUAL AND IF SO JUMPS TO AN ALTERNATE PRINT STATEMENT
  49. 320  REM  LINES 200-230 PRINT THE ANSWER AND END THE PROGRAM